package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
public interface RoleDao {

    Set<Role> findRolesByUserId(Integer userId);
    /**
     * 基于条件分页获取角色列表
     * @param queryString
     * @return
     */
    Page<Role> findByCondition(@Param("queryString") String queryString);
    /**
     * @Author tanxinshi
     * @Date 2020/3/7 15:43
     * @Version v1.0
     * @Description 添加角色
     */
    void add(Role role);
    void set(Integer roleId, Integer permissionId);
    void set1(Integer roleId,Integer menuIds);
    List<Role> findAll();

    Role findById(Integer id);

    List<Integer>findPermissionIdsById(Integer id);
    List<Integer>findMenuById(Integer id);

    void edit(Role role);

    void delRelation(Integer id);
    void delRelationByMenu(Integer id);

    void delById(Integer id);
    long findCountById(Integer id);


    Set<Role> findRolesByUserId2(Integer userId);


}
